package com.syh.jn.scm.infrastructure.repository.model.finance;

import com.syh.core.ddd.infrastructure.repository.model.SuperBusinessModel;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 订单费用表
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "T_FINANCE_ORDER_EXPENSES_BILL")
@EqualsAndHashCode(callSuper = true)
public class OrderExpensesBillModel extends SuperBusinessModel {
  /**
   * 原始单id
   */
  @Column(name = "SOURCE_ID", columnDefinition = "bigint COMMENT '原始单id'")
  private Long sourceId;
  /**
   * 原始单编号
   */
  @Column(name = "SOURCE_CODE", columnDefinition = "varchar(300) COMMENT '原始单编号'")
  private String sourceCode;
  /**
   * 原始单类型(1：销售单、2：采购单)
   */
  @Column(name = "ORDER_TYPE", columnDefinition = "smallint COMMENT '原始单类型(1：销售单、2：采购单)'")
  private Short orderType;
  /**
   * 状态（0：未确认 1：已确认）
   */
  @Column(name = "STATE", columnDefinition = "smallint COMMENT '状态（0：未确认 1：已确认）'")
  private Short state;
  /**
   * 录单人id
   */
  @Column(name = "BROKERAGE_ID", columnDefinition = "bigint COMMENT '录单人id'")
  private Long brokerageId;
  /**
   * 创建日期
   */
  @Column(name = "CREATE_TIME_STAMP", columnDefinition = "bigint COMMENT '创建日期'")
  private Long createTimeStamp;
  /**
   * 确认日期
   */
  @Column(name = "CONFIRM_TIME_STAMP", columnDefinition = "bigint COMMENT '确认日期'")
  private Long confirmTimeStamp;
  /**
   * 修改日期
   */
  @Column(name = "LAST_UPDATE_TIME_STAMP", columnDefinition = "bigint COMMENT '修改日期'")
  private Long lastUpdateTimeStamp;
}
